<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.2.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/favicon.ico">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon.ico">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.ico">
  <link rel="mask-icon" href="/images/favicon.ico" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"wwwttttj.gitee.io","root":"/","scheme":"Gemini","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
  </script>

  <meta name="description" content="springboot-activity项目搭建初始化一个spring boot 项目 （略）maven  只要上面一个就可以了 activiti-spring-boot-starter-basic  ,下面两个时 rest 请求和 protometheus 统计数据用的1234567891011121314151617181920&lt;properties&gt;      &lt;activi">
<meta property="og:type" content="article">
<meta property="og:title" content="springboot-activity项目搭建">
<meta property="og:url" content="https://wwwttttj.gitee.io/2020/09/18/springboot-activity%E9%A1%B9%E7%9B%AE%E6%90%AD%E5%BB%BA/index.html">
<meta property="og:site_name" content="wwwblog">
<meta property="og:description" content="springboot-activity项目搭建初始化一个spring boot 项目 （略）maven  只要上面一个就可以了 activiti-spring-boot-starter-basic  ,下面两个时 rest 请求和 protometheus 统计数据用的1234567891011121314151617181920&lt;properties&gt;      &lt;activi">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2020-09-18T07:45:18.000Z">
<meta property="article:modified_time" content="2020-09-23T06:57:38.560Z">
<meta property="article:author" content="wwwttttj">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://wwwttttj.gitee.io/2020/09/18/springboot-activity%E9%A1%B9%E7%9B%AE%E6%90%AD%E5%BB%BA/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>springboot-activity项目搭建 | wwwblog</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="wwwblog" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">wwwblog</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="main-menu menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a>

  </li>
        <li class="menu-item menu-item-commonweal">

    <a href="/404/" rel="section"><i class="fa fa-heartbeat fa-fw"></i>公益 404</a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://wwwttttj.gitee.io/2020/09/18/springboot-activity%E9%A1%B9%E7%9B%AE%E6%90%AD%E5%BB%BA/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="wwwttttj">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="wwwblog">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          springboot-activity项目搭建
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2020-09-18 15:45:18" itemprop="dateCreated datePublished" datetime="2020-09-18T15:45:18+08:00">2020-09-18</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="far fa-calendar-check"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2020-09-23 14:57:38" itemprop="dateModified" datetime="2020-09-23T14:57:38+08:00">2020-09-23</time>
              </span>

          

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <h2 id="springboot-activity项目搭建"><a href="#springboot-activity项目搭建" class="headerlink" title="springboot-activity项目搭建"></a>springboot-activity项目搭建</h2><h3 id="初始化一个spring-boot-项目-（略）"><a href="#初始化一个spring-boot-项目-（略）" class="headerlink" title="初始化一个spring boot 项目 （略）"></a>初始化一个spring boot 项目 （略）</h3><h2 id="maven-只要上面一个就可以了-activiti-spring-boot-starter-basic-下面两个时-rest-请求和-protometheus-统计数据用的"><a href="#maven-只要上面一个就可以了-activiti-spring-boot-starter-basic-下面两个时-rest-请求和-protometheus-统计数据用的" class="headerlink" title="maven  只要上面一个就可以了 activiti-spring-boot-starter-basic  ,下面两个时 rest 请求和 protometheus 统计数据用的"></a>maven  只要上面一个就可以了 activiti-spring-boot-starter-basic  ,下面两个时 rest 请求和 protometheus 统计数据用的</h2><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line">&lt;properties&gt;</span><br><span class="line">      &lt;activiti.version&gt;6.0.0&lt;&#x2F;activiti.version&gt;</span><br><span class="line">  &lt;&#x2F;properties&gt;</span><br><span class="line">      &lt;dependency&gt;</span><br><span class="line">          &lt;groupId&gt;org.activiti&lt;&#x2F;groupId&gt;</span><br><span class="line">          &lt;artifactId&gt;activiti-spring-boot-starter-basic&lt;&#x2F;artifactId&gt;</span><br><span class="line">          &lt;version&gt;$&#123;activiti.version&#125;&lt;&#x2F;version&gt;</span><br><span class="line">      &lt;&#x2F;dependency&gt;</span><br><span class="line">      </span><br><span class="line">     &lt;dependency&gt;</span><br><span class="line">         &lt;groupId&gt;org.activiti&lt;&#x2F;groupId&gt;--&gt;</span><br><span class="line">         &lt;artifactId&gt;activiti-spring-boot-starter-rest-api&lt;&#x2F;artifactId&gt;--&gt;</span><br><span class="line">         &lt;version&gt;$&#123;activiti.version&#125;&lt;&#x2F;version&gt;--&gt;</span><br><span class="line">     &lt;&#x2F;dependency&gt;</span><br><span class="line"></span><br><span class="line">     &lt;dependency&gt;</span><br><span class="line">         &lt;groupId&gt;org.activiti&lt;&#x2F;groupId&gt;--&gt;</span><br><span class="line">         &lt;artifactId&gt;activiti-spring-boot-starter-actuator&lt;&#x2F;artifactId&gt;--&gt;</span><br><span class="line">         &lt;version&gt;$&#123;activiti.version&#125;&lt;&#x2F;version&gt;--&gt;</span><br><span class="line">     &lt;&#x2F;dependency&gt;</span><br></pre></td></tr></table></figure>
<a id="more"></a>
<h2 id="修改启动文件和-application-yml"><a href="#修改启动文件和-application-yml" class="headerlink" title="修改启动文件和 application.yml"></a>修改启动文件和 application.yml</h2><p> 启动文件上排除  @SpringBootApplication(exclude = org.activiti.spring.boot.SecurityAutoConfiguration.class)</p>
<p> application.yml   注意 datasource.url 要加&amp;nullCatalogMeansCurrent=true ,项目启动时数据库表会自动建立<br> <figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">spring:</span><br><span class="line">  activiti:</span><br><span class="line">    database-schema-update: true</span><br><span class="line">    job-executor-activate: true # asyncExecutorEnabled属性设置设置true后将代替那些老的Job executor</span><br><span class="line">    history-level: full</span><br><span class="line">    db-history-used: true</span><br><span class="line">    check-process-definitions: true # 自动部署验证设置:true-开启（默认）、false-关闭  </span><br><span class="line"> datasource:</span><br><span class="line">   driver-class-name: com.mysql.cj.jdbc.Driver</span><br><span class="line">   password:  </span><br><span class="line">   url: jdbc:mysql:&#x2F;&#x2F;&#x2F;?useUnicode&#x3D;true&amp;characterEncoding&#x3D;utf8&amp;zeroDateTimeBehavior&#x3D;convertToNull&amp;useSSL&#x3D;true&amp;serverTimezone&#x3D;GMT%2B8&amp;nullCatalogMeansCurrent&#x3D;true</span><br><span class="line">   username:  </span><br></pre></td></tr></table></figure></p>
<h2 id="其他idea-plugins-中寻找安装-actiBPM-插件-restart-idea"><a href="#其他idea-plugins-中寻找安装-actiBPM-插件-restart-idea" class="headerlink" title="其他idea plugins 中寻找安装 actiBPM 插件 , restart idea"></a>其他idea plugins 中寻找安装 actiBPM 插件 , restart idea</h2><p> 备注：idea 乱码解决方案 ：点击 idea-&gt;help 菜单-&gt;edit Custome Vm Option 菜单 ，增加一行  -Dfile.encoding=UTF-8 重启即可解决乱码</p>
<p> 在resource 目录下建立 processes 文件夹 ，右键文件夹新建*.bpmn 文件 可以画流程图 （spring boot bpmn 默认读取路径是 resource/processes/）<br> 类似：<br>  start -&gt;server_task-&gt;user_task-&gt;end 四个简单的流程图</p>
<p>  新建测试用例</p>
<p>  startProcessInstanceByKey(key), resource/processes/key.bpmn 。 key.bpmn 后缀改为xml 修改xml中的process id=”key”<br> <figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br></pre></td><td class="code"><pre><span class="line">@RunWith(SpringJUnit4ClassRunner.class)</span><br><span class="line">@SpringBootTest</span><br><span class="line">public class activitTest &#123;</span><br><span class="line"></span><br><span class="line">    @Autowired</span><br><span class="line">    private RuntimeService runtimeService;</span><br><span class="line"></span><br><span class="line">    @Autowired</span><br><span class="line">    private TaskService taskService;</span><br><span class="line"></span><br><span class="line">    @Test</span><br><span class="line">    @Deployment</span><br><span class="line">    public void simpleProcessTest() &#123;</span><br><span class="line">       runtimeService.startProcessInstanceByKey(&quot;myProcess_1&quot;);</span><br><span class="line"></span><br><span class="line">        Task task &#x3D; taskService.createTaskQuery().singleResult();</span><br><span class="line">        taskService.complete(task.getId());</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    @Test</span><br><span class="line">    public  void    queryProcessList()&#123;</span><br><span class="line">        ProcessInstanceQuery query &#x3D; runtimeService.createProcessInstanceQuery().processDefinitionKey(&quot;myProcess_1&quot;);</span><br><span class="line">        List&lt;ProcessInstance&gt; list &#x3D; query.list();</span><br><span class="line">        System.out.println(list.size());</span><br><span class="line">        list.forEach(e-&gt;&#123;</span><br><span class="line">            Task task &#x3D; taskService.createTaskQuery().processInstanceId(e.getProcessInstanceId()).singleResult();</span><br><span class="line">            taskService.complete(task.getId());</span><br><span class="line">        &#125;);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"></span><br></pre></td></tr></table></figure><br>为了和我们的业务联合起来 需要新建service<br>相应的流程图要调用下面的两个方法<br>  start -&gt;server_task-&gt;user_task-&gt;end 四个简单的流程图<br>  server_task 加 activiti:expression=”#{bootTestService.begin(execution)}” ||  server_task 在流程图上 改type=expression value=#{bootTestService.begin(execution)}  表示监听<br>  user_task 加 activiti:candidateUsers=”${bootTestService.end()}” || user_task 在流程图上 改Candidate Users value=${bootTestService.end()}  </p>
<p> 备注：事件监听是以#开头</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">@Service</span><br><span class="line">public class BootTestService &#123;</span><br><span class="line">    public void begin(DelegateExecution execution)&#123;</span><br><span class="line">        System.out.println(&quot;begint&quot;);</span><br><span class="line">        System.out.println(execution.getCurrentActivityId());</span><br><span class="line">        System.out.println(execution.getEventName());</span><br><span class="line">        System.out.println(execution.getTenantId());</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    public List&lt;String&gt; end()&#123;</span><br><span class="line">        System.out.println(&quot;end&quot;);</span><br><span class="line">        return Arrays.asList(&quot;hello&quot;,&quot;hello&quot;);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<p>最终执行 单元测试 主要表结构如下<br>//部署表<br>act_re_procdef   process_id myProcess_1:5:17504  DEPLOYMENT_ID_ 17501<br>act_re_deployment<br>act_ge_bytearray<br>act_ge_property<br>//任务表<br>act_hi_procinst  process 实例表<br>act_hi_taskinst  PROC_INST_ID_ 字段跟上表关联  EXECUTION_ID_ 与下表关联<br>act_hi_actinst   具体的步骤表</p>
<h2 id="Activiti-7大服务介绍"><a href="#Activiti-7大服务介绍" class="headerlink" title="Activiti 7大服务介绍"></a>Activiti 7大服务介绍</h2><p>  TaskService :在 Activiti 中业务流程定义中的每一个执行节点被称为一个 Task，对流程中的数据存取，状态变更等操作均需要在 Task 中完成。<br>                Task Service 提供了对用户 Task 和 Form 相关的操作。它提供了运行时任务查询、领取、完成、删除以及变量设置等功能。</p>
<p>  RuntimeService:在 Activiti 中，每当一个流程定义被启动一次之后，都会生成一个相应的流程对象实例。Runtime Service 提供了启动流程、查询流程实例、<br>                设置获取流程实例变量等功能。此外它还提供了对流程部署，流程定义和流程实例的存取服务。</p>
<p>  RepositoryService :Activiti 中每一个不同版本的业务流程的定义都需要使用一些定义文件，部署文件和支持数据 ( 例如 BPMN2.0 XML 文件，表单定义文件，<br>                流程定义图像文件等 )，这些文件都存储在 Activiti 内建的 Repository 中。Repository Service 提供了对 repository 的存取服务。</p>
<p>  HistoryService :History Service 用于获取正在运行或已经完成的流程实例的信息，与 Runtime Service 中获取的流程信息不同，历史信息包含已经持久化存储的永久信息，并已经被针对查询优化。</p>
<p>  FormService : Activiti 中的流程和状态 Task 均可以关联业务相关的数据。通过使用 Form Service 可以存取启动和完成任务所需的表单数据并且根据需要来渲染表单。</p>
<p>  IdentityService ：Activiti 中内置了用户以及组管理的功能，必须使用这些用户和组的信息才能获取到相应的 Task。Identity Service 提供了对 Activiti 系统中的用户和组的管理功能。</p>
<p>  ManagementService : Management Service 提供了对 Activiti 流程引擎的管理和维护功能，这些功能不在工作流驱动的应用程序中使用，主要用于 Activiti 系统的日常维护。</p>
<h3 id="Activiti使用到的表都是ACT-开头的。"><a href="#Activiti使用到的表都是ACT-开头的。" class="headerlink" title="Activiti使用到的表都是ACT_开头的。"></a>Activiti使用到的表都是ACT_开头的。</h3><pre><code>  ACT_RE_*:  ’RE’表示repository(存储)，RepositoryService接口所操作的表。带此前缀的表包含的是静态信息，如，流程定义，流程的资源（图片，规则等）。

  ACT_RU_*: ‘RU’表示runtime，运行时表-RuntimeService。这是运行时的表存储着流程变量，用户任务，变量，职责（job）等运行时的数据。Activiti只存储实例执行期间的运行时数据，当流程实例结束时，将删除这些记录。这就保证了这些运行时的表小且快。

  ACT_ID_*: ’ID’表示identity (组织机构)，IdentityService接口所操作的表。用户记录，流程中使用到的用户和组。这些表包含标识的信息，如用户，用户组，等等。

  ACT_HI_*: ’HI’表示history，历史数据表，HistoryService。就是这些表包含着流程执行的历史相关数据，如结束的流程实例，变量，任务，等等

  ACT_GE_*: 全局通用数据及设置(general)，各种情况都使用的数据。</code></pre>
<p>  序号     表名     说明<br>  1     act_ge_bytearray     二进制数据表<br>  2     act_ge_property     属性数据表存储整个流程引擎级别的数据,初始化表结构时，会默认插入三条记录，<br>  3     act_hi_actinst     历史节点表<br>  4     act_hi_attachment     历史附件表<br>  5     act_hi_comment     历史意见表<br>  6     act_hi_identitylink     历史流程人员表<br>  7     act_hi_detail     历史详情表，提供历史变量的查询<br>  8     act_hi_procinst     历史流程实例表<br>  9     act_hi_taskinst     历史任务实例表<br>  10     act_hi_varinst     历史变量表<br>  11     act_id_group     用户组信息表<br>  12     act_id_info     用户扩展信息表<br>  13     act_id_membership     用户与用户组对应信息表<br>  14     act_id_user     用户信息表<br>  15     act_re_deployment     部署信息表<br>  16     act_re_model     流程设计模型部署表<br>  17     act_re_procdef     流程定义数据表<br>  18     act_ru_event_subscr     throwEvent、catchEvent时间监听信息表<br>  19     act_ru_execution     运行时流程执行实例表<br>  20     act_ru_identitylink     运行时流程人员表，主要存储任务节点与参与者的相关信息<br>  21     act_ru_job     运行时定时任务数据表<br>  22     act_ru_task     运行时任务节点表<br>  23     act_ru_variable     运行时流程变量数据表</p>

    </div>

    
    
    

      <footer class="post-footer">

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/2020/09/18/hello-hexo/" rel="prev" title="hello,hexo">
      <i class="fa fa-chevron-left"></i> hello,hexo
    </a></div>
      <div class="post-nav-item">
    <a href="/2020/09/24/hello-world/" rel="next" title="Hello World">
      Hello World <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
          <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#springboot-activity%E9%A1%B9%E7%9B%AE%E6%90%AD%E5%BB%BA"><span class="nav-number">1.</span> <span class="nav-text">springboot-activity项目搭建</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%80%E4%B8%AAspring-boot-%E9%A1%B9%E7%9B%AE-%EF%BC%88%E7%95%A5%EF%BC%89"><span class="nav-number">1.1.</span> <span class="nav-text">初始化一个spring boot 项目 （略）</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#maven-%E5%8F%AA%E8%A6%81%E4%B8%8A%E9%9D%A2%E4%B8%80%E4%B8%AA%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86-activiti-spring-boot-starter-basic-%E4%B8%8B%E9%9D%A2%E4%B8%A4%E4%B8%AA%E6%97%B6-rest-%E8%AF%B7%E6%B1%82%E5%92%8C-protometheus-%E7%BB%9F%E8%AE%A1%E6%95%B0%E6%8D%AE%E7%94%A8%E7%9A%84"><span class="nav-number">2.</span> <span class="nav-text">maven  只要上面一个就可以了 activiti-spring-boot-starter-basic  ,下面两个时 rest 请求和 protometheus 统计数据用的</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E4%BF%AE%E6%94%B9%E5%90%AF%E5%8A%A8%E6%96%87%E4%BB%B6%E5%92%8C-application-yml"><span class="nav-number">3.</span> <span class="nav-text">修改启动文件和 application.yml</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%85%B6%E4%BB%96idea-plugins-%E4%B8%AD%E5%AF%BB%E6%89%BE%E5%AE%89%E8%A3%85-actiBPM-%E6%8F%92%E4%BB%B6-restart-idea"><span class="nav-number">4.</span> <span class="nav-text">其他idea plugins 中寻找安装 actiBPM 插件 , restart idea</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Activiti-7%E5%A4%A7%E6%9C%8D%E5%8A%A1%E4%BB%8B%E7%BB%8D"><span class="nav-number">5.</span> <span class="nav-text">Activiti 7大服务介绍</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#Activiti%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84%E8%A1%A8%E9%83%BD%E6%98%AFACT-%E5%BC%80%E5%A4%B4%E7%9A%84%E3%80%82"><span class="nav-number">5.1.</span> <span class="nav-text">Activiti使用到的表都是ACT_开头的。</span></a></li></ol></li></ol></div>
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">wwwttttj</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">8</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://gitee.com/wwwttttj" title="gitee → https:&#x2F;&#x2F;gitee.com&#x2F;wwwttttj" rel="noopener" target="_blank"><i class="fab fa-gitee fa-fw"></i>gitee</a>
      </span>
  </div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2020</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">wwwttttj</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Gemini</a> 强力驱动
  </div>

        








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  















  

  

</body>
</html>
